<?php

define('mvc_root', dirname(__FILE__));
class autoload
{
    public static function hand_load($classname)
    {
        echo "1";
        $filename = mvc_root."/home1/" . $classname . ".php";
        if (file_exists($filename)) {
            require_once $filename;
        }
    }
}

function __autoload( $classname)
{
    echo "2";
    // 这个是默认的 autoload 方法
    $filename = mvc_root."/home2/" . $classname . ".php";
    if (file_exists($filename)) {
        require_once $filename;
    }
}

// 注册一个 autoloader
spl_autoload_register('autoload::hand_load');
/**
 * __autoload 方法在 spl_autoload_register 后会失效，因为 autoload_func 函数指针已指向 spl_autoload 方法
 * 可以通过下面的方法来把 _autoload 方法加入 autoload_functions list
 */
spl_autoload_register( '__autoload' );
 // 注：下面的类看上去没有定义，但其实系统根据sql_autoload_register提供的路径会自动去/home/user// /class/*.class.php下搜索foo.class.php文件，如果没找到才报错。
$foo = new foo2();
$foo ->init();